Equational Reasoning for Prolog
نویسندگان
چکیده
Equational Reasoning is a feature of Functional Programming much envied by Logic Programmers. We argue that logic programmers should not shy away from adopting equational reasoning because of perceived pitfalls, but rather embrace it to indulge in its many benefits. We propose and illustrate two approaches: a cumbersome indirection via Haskell and a more insightful approach directly in Prolog.
منابع مشابه
Equational Reasoning using AC Constraints
Unfailing completion is a commonly used technique for equational reasoning. For equational problems with associative and commutative functions, unfailing completion often generates a large number of rewrite rules. By comparing it with a ground completion procedure, we show that many of the rewrite rules generated are redundant. A set of consistency constraints is formulated to detect redundant ...
متن کاملParameterized Horn Clause Specifications: Proof Theory and Correctness
Recently, "algebraic" equational Horn clause specifications (or, in some sense, conditional specifications) have been advocated by several authors as the solution to some of the problems of Prolog [see, for instance, 11]. Most of the work done in this field has been dealing only with the operational aspects of such specifications (e.g. rewriting, narrowing, etc.), perhaps assuming that other ki...
متن کاملA Method for Implementing Equational Theories as Logic Programs
Equational theories underly many elds of computing, including functional programming, symbolic algebra, theorem proving, term rewriting and constraint solving. In this paper we show a method for implementing many equational theories with a limited class of logic programs. We de ne regular equational theories, a useful class of theories, and illustrate with a number of examples how our method ca...
متن کاملExtending Prolog with Nonmonotonic Reasoning
Nonmonotonic reasoning has been developed to capture common sense inferences. This paper considers nonmonotonic reasoning in logic programs with negation { its implementation using Prolog and its integration with Prolog execution. Even within logic programming frameworks, a variety of inferencing methods, model-theoretic semantics, and language features have been proposed for diierent forms of ...
متن کاملThe Technology Behind a Graphical User Interface for an Equational Reasoning Assistant
The Haskell Equational Reasoning Assistant (HERA) is an application written in Haskell that helps users construct and present equational reasoning style proofs[1]. In this paper we discuss the technology behind the user interface.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008